
export const download = (res: any) => {
    // 1.创建 FileReader 对象
    // const fileReader = new FileReader()
    // // 2.开始读取指定的Blob中的内容。一旦完成，result属性中将包含一个字符串以表示所读取的文件内容。
    // fileReader.readAsBinaryString(res.data) // 3.以字符串的形式读取出来
    // fileReader.onload = (reader: FileReader, ev: ProgressEvent<FileReader>) => {
    //     console.log(reader)
    // }

    // 通过a标签打开新页面下载文件
    const a = document.createElement('a')
    // 构造一个blob对象来处理数据
    // const blob = new Blob[res.data]
    const blob = new Blob([res.data], {type: res.headers['content-type']})
    if (res.headers['content-disposition']) {
        // 拿到用户上传的文件名
        let fileName = res.headers['content-disposition'].split('filename=')[1]
        fileName = decodeURI(encodeURI(fileName))
        // URL.createObjectURL()会产生一个url字符串，可以像使用普通 URL 那样使用它，比如用在 img.src 上
        a.href = URL.createObjectURL(blob)
        // a标签里有download属性可以自定义文件名
        a.setAttribute(
            'download',
            fileName
        )
        document.body.appendChild(a)
        a.click();
        document.body.removeChild(a)
    }
}
